﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using JaernCloud.Language.Compiler.Ast;
using System.Windows.Media;

namespace JaernCloud.VisualStudio.Classification {
    internal class AstNodeKindColorization {
        //Identifier = 0,

        //Parameter,

        //Action,
        //Model,
        //Page,
        //User,
        //View,
        //Bundle,        
        //Javascript,
        //Css,        
        //HtmlElement,
        //HtmlDocument,        
        //JsonDocument,
        //JsonKeyValue,        
        //XmlDocument,
        //XmlElement

        static AstNodeKindColorization() {
            Colorization = new Dictionary<AstNodeKind, Color>();
            Colorization.Add(AstNodeKind.Identifier, Colors.DarkRed);
            Colorization.Add(AstNodeKind.Parameter, Colors.Black);
            Colorization.Add(AstNodeKind.Action, Colors.RosyBrown);
            Colorization.Add(AstNodeKind.Model, Colors.RosyBrown);
            Colorization.Add(AstNodeKind.Page, Colors.RosyBrown);
            Colorization.Add(AstNodeKind.User, Colors.RosyBrown);
            Colorization.Add(AstNodeKind.View, Colors.RosyBrown);
            Colorization.Add(AstNodeKind.Bundle, Colors.RosyBrown);
            Colorization.Add(AstNodeKind.Javascript, Colors.RoyalBlue);
            Colorization.Add(AstNodeKind.Css, Colors.RoyalBlue);
            Colorization.Add(AstNodeKind.HtmlElement, Colors.SlateBlue);
            Colorization.Add(AstNodeKind.HtmlDocument, Colors.SlateBlue);
            Colorization.Add(AstNodeKind.JsonDocument, Colors.SkyBlue);
            Colorization.Add(AstNodeKind.JsonKeyValue, Colors.SkyBlue);
            Colorization.Add(AstNodeKind.XmlDocument, Colors.AliceBlue);
            Colorization.Add(AstNodeKind.XmlElement, Colors.AliceBlue);
        }

        internal static Dictionary<AstNodeKind, Color> Colorization;
    }
}
